Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

multiplet-analysis

Package Overview
Dependencies
Maintainers
4
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

multiplet-analysis

Extract coupling constants from a complex NMR multiiplet

  • 2.1.5
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
4
Created
Source

multiplet-analysis

NPM version build status npm download

The goal of this project is to be able to determine the multiplicity of a NMR signal as well as the coupling constants. It is based on a delta-function deconvolution developed by D. Jeannerat and G. Bodenhausen and published in J. Magn. Reson. 1999, 141(1), p133 doi:10.1006/jmre.1999.1845. More info and discussion in doc/README.md The result of the analysis that is an object composed:

  • delta
  • multiplicity : m (massif if delta is unspecified), s, s br, d br. We can repeat the multiplicity in this field but if it is empty we should use it from coupling constants array.
  • peak: [{x: , y:, z:, width}, {x: , y:, z:, width}, ]
  • j []
    • multiplicity: (d, t, q, p pent quint, sext hex, sept hept, oct, non)
    • coupling: (Hz)

Technical information

Run example

node -r esm examples/quadruplet.js
node -r esm examples/ddd.js
node -r esm examples/ddd_ABCD.js
node -r esm examples/doublet.js

node -r esm examples/simulate.js; # to simulate from a user-defined spin system
node -r esm examples/dd-exp.js; # to simulate from a user-defined spin system
node -r esm examples/asymDoublet.js; # to simulate from a user-defined spin system

Developement

git clone https://github.com/cheminfo/multiplet-analysis.git
cd multiplet-analysis
code .

To run the jest tests in an interactive way (preferably on a second screen): npx jest --watch

In order to debug you may anytime add a console.log in the code. The result of the log will appear in the jest --watch.

In the jest --.watch terminal you may as well select only one specific test.

In is also possible to select a specific test in the code by adding .only after describe or it like for example: it.only('s

Debugging data

In order to debug algorithm it is important to be able to visualize them. In the project we added a folder /examples/web that contains index.html. This webpage will load data.json and annotations.json and display a chart.

To automatically use and refresh this webpage you should install the plugin Live server typing code --install-extension ritwickdey.liveserver. Then, right click on index.html and open with live server. This will open the webpage in the browser and reload it if the files change.

There are also 2 examples files to create the data:

  • exampleGenerateAnnotations : create an array of annotations
  • exampleGenerateData : create an object like {x:[], y:[]}

When you clone / update the project don't forget to npm i to load possible new dependencies.

If you want to execute those scripts written as module you need to use esm that is installed as a development dependency. npm install esm node -r esm ./examples/web/exampleGenerateAnnotations.js

Creating simulated data

Spectra can be simulated on

http://www.nmrdb.org/simulator/

And the data can be download as a JSON file.

Installation

npm i multiplet-analysis

Usage

import library from 'multiplet-analysis';

const result = library(args);
// result is ...

API Documentation

License

MIT

npm i ml-fft npm home ml-fft

Demo and examples

Main scientific page.

example 1.

example 2.

FAQs

Package last updated on 04 Dec 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc